package com.fanghuaman.user.service;

import com.fanghuaman.model.common.vo.ResponseResult;
import com.fanghuaman.model.user.dto.ProductDto;
import com.fanghuaman.model.user.pojo.ShoppingCart;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author smh
 * @since 2024-12-08
 */
public interface ShoppingCartService extends IService<ShoppingCart> {

    /**
     * 添加购物车
     *
     * @param productDto
     * @return
     */
    ResponseResult addCart(ProductDto productDto);

    /**
     * 获取购物车
     *
     * @return
     */
    ResponseResult getCart();

    /**
     * 删除购物车商品
     *
     * @param cartId
     * @return
     */
    ResponseResult delCart(Long cartId);

    /**
     * 清空购物车
     *
     * @return
     */
    ResponseResult clearCart();

    /**
     * 订单支付完成后清空购物车,并保留历史购买记录
     *
     * @return
     */
    ResponseResult paid();

    /**
     * 修改购物车
     *
     * @param cartId
     * @param productDto
     * @return
     */
    ResponseResult updateCart(Long cartId, ProductDto productDto);
}
